•Median of survival with 95% IC is now estimated and printed for the different groups.
•Now if you double-clickin on a Text File or a Binary File created by the program the
application is launched an the selected file is automatically loaded and opened.
•If you try to select a variable that has the same value than the Status variable or
the Time variable you get three beeps and the corresponding box flashes to warn you.
• If you press the Option key down while selecting the Help item from the Apple menu,
a full description of the available macro commands is displayed in the Help window,
which may be printed with the Print option of the File Menu.If you don't press the
option key a Help window with a general description about the program and the different
Menu options is displayed.The Help id displayed in styled Text.
• If the Option key is pressed while launching the application, a macro file is loaded
in memory and the macro located in second position in the macro menu is automatically
executed. The first position is left to allow the user to define a function for time-
dependent survival analysis. The file should be named 'Survival Macros' and must be
located in the same folder than the application. If you don't press the Option key
the file is just loaded to be used from the Macros Menu.
This option allows to link Survival with your current database for fully automated
survival analysis.
• The MAKEBINS macro now lists the number of cases in each bin.
• An Overlay Plot option has been added to the SURVIVAL CHART menu so you can show in a single
plot the baseline survival function against different levels of the covariates, for comparative
and illustrative purposes. If you press the Option key down while slecting this option the
plots are displayed with dashed lines to identify the groups insted of colors.Usee the Adjust
Bit Mapp from the Page Setup option of your printer (if available)
• Now the legends for both numerical and graphical Plots may be printed in SPANISH if
you select the OUTPUT IN SPANISH item from the Outoput Options menu (welcome folks).
Menus, Macro commands, Dialog boxs and warning messages are not changed (sorry folks, but
have you ever tried to translate the menu legends of an English program into Spanish so that
the final product becomes as short as understandable for average people (try to translate into
Spanish, for example, the english word 'Hyphenating',. I've read something like 'guioneando'
which is an aberration).
• If the CONTROL key is pressed while selecting a covariate in the variable window of
the DEFINE MODEL dialog a (c) sign appears in the rightmost side of the variable in the model
window.
This ENABLES the internal transformation of categorical variables into K-1 INDICATOR or
DEVIATION variables, where K is the max number of categories of the selected variable. If you
want to use DEVIATION coding, uncheck the 'USE INDICATOR VARIABLES' box.
You may obtain the same results with the TRANSFORM option of the MODEL menu but you have to
manuallay include the different variables in the model.
On the output window the coefficientes are labeled as VAR1-1, VAR1-2, etc. or as NAME-1,
NAME-2, NAME-3 ... etc if you checked the LABEL VARIABLES option.
*** VERY IMPORTANT
--------------
All the variables selected as categorical (Control Key Down) must be done in ASCENDING ORDER.
If you try to select,for example, variable 6 if you previously selected a variable whose
column number es equal or less than variable 6, the program beeps, the model window will be
CLEARED and You'll have to start the variables selection again. This rule is also applied when
in a model you combine categoricial with non-categorical variables. Non-categorical variables
alone may be selected in any order ***
I WAS COMPELLED to add this option to my program because a common error I observed in Survival analysis is the use of categorical variables 'as is' as covariates in regression models.
You should be aware that if you use this type of variables you are making 'a priori' assumption
about a lineal dependence of the hazard function with the different levels of the categorical
variable, a fact that most of the times is WRONG (I repeat WRONG), unless otherwise
demonstrated.
If you use the INDICATOR coding scheme you compare the effect of a particular category with
some other category taken as reference (the first one in our case). The value and sign of the
new coefficients will tell you if that particular category increases (positive values)
or decreases (negative values) the chance of survival.The value of the coefficient for the
reference category (first one) is 0 and is not displayed.
If you use the DEVIATION coding scheme you compare a particular category with the average
effect for all categories. The coefficient for the reference category (first) is calculated as
the negative value of the sum of all coefficients for that category.
Use the TEST OF HYPOTHESIS option to assess the joint effect upon hazard of the differente categories of the transformed variables or the different combinations ov covariates you
consider significant in your particular model.
** YOU CAN'T IMAGINE HOW MUCH YOUR RESULTS AND CONCLUSIONS MAY CHANGE IF YOU USE AN
INAPPROPRIATE CODING OF YOUR VARIABLES WITH COX'S REGRESSION ANALYSIS **
HERE ARE MY RECOMENDATIONS:
1) USE BINARY VARIABLES (0,1) WHENEVER POSSIBLE.
2) NEVER USE CATEGORICAL VARIABLES AS COVARIATES. TRANSFORM THEM INTO INDICATOR OR DEVIATION
VARIABLES WITH THE ABOVE OPTIONS.
3) IF YOU USE NUMERICAL VARIABLES MAKE AN ALTERNATIVE ANALYSIS BY TRANSFORMING THEM INTO
DIFFERENT GROUPS OR CATEGORIES WITH THE 'MAKEBINS' MACRO (You'll love it) AND THEN
TRANSFORMING THE CATEGORIES INTO INDICATOR OR DEVIATION VARIABLES. (Many times the effect
of numerical variables upon the chance of survival is only significant for a limited
interval of values, for example, between 60-70 years but not below or above that AGES.
If you obtain a significant P value for a numerical variable and you don't explore this
possibility you would draw the conclusion, otherwise wrong, that the chance of survival
decreases for increasing age values).
4) I PERSONALLY PREFER THE DEVIATION CODING SCHEME.
5) NEVER BECOME A SLAVE OF THE 'P < 0.05' EXPRESSION OR LET IT BE A SUBSTITUTE OF YOUR NEURONS
OR THE COMMON SENSE.
6) MODELLING THE RISK IS THE BEST CHALLANGE AND THE BEST WAY TO TEST YOUR KNOWLEDGE
ON A PARTICULAR CLINICAL INVESTIGATION PROBLEM. USE THE LIKELIHOOD RATIO TEST TO ASSESS
IF A GIVEN COVARIATE IN A MODEL, WITH NO SIGNIFICANT P VALUE, SHOULD BE LEFT OR REMOVED
FROM THE MODEL.
7) STICK ALWAYS TO THE BASIC PRINCIPLE OF SCIENCE: THE 'PARSIMONY' AND TRY TO DESCRIBE YOUR
PROBLEM WITH SIMPLE MODELS AND USING THE LEAST POSSIBLE NUMBER OF VARIABLES.
NEW MACROS :
• SURVPLOT; activates the plot of both Kaplan-Meier and Model Survival function. It
must be used before the ESTIMATE macro command. This macro substitutes the
GRAPHPLOT('true','false') command of previous versions.
• LOGPLOT; activates the plot of Log -(Log) of Survival function, which is used for
testing the proportionality assumption.It must be used after the ESTIMATE macro
command
• INTPLOT(number); actives the plot of the Confidence Intervals for the current
survival function. It must be used after the ESTIMATE command. 'number' is 1 for
95% CI and 2 for 99% CI.
• RESPLOT; activates the plot of the Cumulative Function for Residuals, which is
used to Test the goodness of fit of data to model.It must also be used after the
ESTIMATE macro command.
• SAVEPICT('name') saves the picture displayed in the active plot window to disk
in the same folder than the application. This command should be used after the
SURVPLOT, INTPLOT, LOGPLOT and RESPLOT macro commands, if you pretend to make
different survival analysis with a single macro and want to save the graphical
output.This macro also closes the active Plot window after saving to the disk.
If you use an empty string as the 'name' argument, until you start a new analysis
the graphic plots ar saved as Kaplan-Meier.PICTn, Model.PICTn, LogLog.PICTn,
Intervals.PICTn and Residuals.PICTn, where 'n' is automatically increased for
each saved file of the same graphic type.
Use a Path if you want the pictures saved in a different folder
This option is not available with the Macro Command submenu.
• RUNMACRO(number); excutes the macro located in the position 'number' in the
Macro Menu. Useful for linking different macros in complex automated survival
analysis. Read carefully the macros in the 'Survival Macros' to learn how to
use these commands.
• SORTBY(column1,column2); sorts data array in ascending order by 'column1' and
'column2'. If you put a zero for the value in 'column2' the data array is only
sorted by the ascending order of values in 'column1'.
• CLEAR; clears the active output window. This option is not available with the
Macro Command submenu for System versions less than 7.xx.
• FIXDATA; makes permanente the changes in data array. You need to reload your data
file if you want your original data back.
• CATEGORIES(Var1,var2,..option). Indentifies the categorical variables in the data array
included in the model that have to be transformed into DEVIATION (option = 0) or INDICATOR
(option = 1) variables.
STATISTICAL MACROS:
This macros help a lot for an on line assessment of summary statistics of our
data array in memory. Using these macros with standar Pascal procedures you may
even compute other statistical Tests and compute the exact probability associated
to the test value. ¿ DO YOU DARE ?
•STAT(var,var, ...) computes descriptive statistics (average, SD, SE, Min,Max
and Range) for the specified 'vars'. If you use a minus sign as argument (-) the
statistics for all variables in the active data array are computed.
•CHITEST(var1,var2); computes a Chi-Square Test for categories in the 'var1' column
of the data array by the categories in the 'var2'column of the data array.
Results are presented in a contingency table where the rows are the max number of
categories in 'var1' and the columns the max number of categories in 'var2'
The maximum number of categories is seven and the categories should be
numerated from 1 to N categories.
•TTEST(var1,var2,[Var3]); computes a Student T-Test betwen Var1 and Var2. If you
use the same value for Var1 and Var2 and use Var3, which is optional, a T-Test is
computed for the groups in Var3. The number of groups must be two (use the RECODE or
COMPUTE MACRO if necessary) otherwise you'll get an error message.
•CHIPROB(chi,df); computes the exact P value for ChiSquare distribution 'chi' with
'df' degrees of freedom.
•FPROB(F,df1,df2); computes the exact P value for F distribution 'F' with 'df1' and
'df2' degrees of freedom.
•NORMPROB(Z); computes the exact P value for Normal distribution 'Z'.
•TPROB(T,df); computes the exact P value for Student T distribution 'T' with
'df' degrees of freedom.
You may acces the numerical results of these Tests for further processing within
a standard pascal procedure or macro with the TEMP[] Token as follows: